<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>DbEnv::repmgr_set_incoming_queue_max()</title>
    <link rel="stylesheet" href="apiReference.css" type="text/css" />
    <meta name="generator" content="DocBook XSL Stylesheets V1.73.2" />
    <link rel="start" href="index.html" title="Berkeley DB C++ API Reference" />
    <link rel="up" href="rep.html" title="Chapter 11.  Replication Methods" />
    <link rel="prev" href="repmgrset_ack_policy.html" title="DbEnv::repmgr_set_ack_policy()" />
    <link rel="next" href="repmgrset_socket.html" title="DbEnv::repmgr_set_socket()" />
  </head>
  <body>
    <div xmlns="" class="navheader">
      <div class="libver">
        <p>Library Version 12.1.6.2</p>
      </div>
      <table width="100%" summary="Navigation header">
        <tr>
          <th colspan="3" align="center">
        DbEnv::repmgr_set_incoming_queue_max()
    </th>
        </tr>
        <tr>
          <td width="20%" align="left"><a accesskey="p" href="repmgrset_ack_policy.html">Prev</a> </td>
          <th width="60%" align="center">Chapter 11. 
                Replication Methods
        </th>
          <td width="20%" align="right"> <a accesskey="n" href="repmgrset_socket.html">Next</a></td>
        </tr>
      </table>
      <hr />
    </div>
    <div class="sect1" lang="en" xml:lang="en">
      <div class="titlepage">
        <div>
          <div>
            <h2 class="title" style="clear: both"><a id="repmgrset_incoming_queue_max"></a>
        DbEnv::repmgr_set_incoming_queue_max()
    </h2>
          </div>
        </div>
      </div>
      <pre class="programlisting">#include &lt;db_cxx.h&gt;
int
DbEnv::repmgr_set_incoming_queue_max(u_int32_t gbytes,
u_int32_t bytes); </pre>
      <p>
        The <code class="methodname">DbEnv::repmgr_set_incoming_queue_max()</code> method sets
        a byte-count limit on the amount of dynamic memory used by the Replication Manager
        incoming queue. When the incoming queue reaches this limit, incoming messages are
        dropped until the Replication Manager processes some of the messages already in
        the queue. Any dropped messages are automatically rerequested at a later time. 
        This limit is not a hard limit, and the message that exceeds this limit is the
        last one to be enqueued. 
    </p>
      <p>
        The Replication Manager incoming queue has a default size limit of 100MB. We
        recommend a minimum size limit of 32MB.
    </p>
      <p>
        If the values passed to the <code class="methodname">DbEnv::repmgr_set_incoming_queue_max()</code>
        method are both zero, then the incoming queue size limit is turned off.
    </p>
      <p>
        We recommend increasing the incoming queue size limit in the following cases:
    </p>
      <div class="itemizedlist">
        <ul type="disc">
          <li>
            <p>
                Master leases are enabled, particularly if there are many
                DB_REP_LEASE_EXPIRED errors.
            </p>
          </li>
          <li>
            <p>
                Clients are far behind the master.
            </p>
          </li>
          <li>
            <p>
                The master is using bulk transfer to send groups of records to the clients in a
                single network transfer.
            </p>
          </li>
          <li>
            <p>
                The master has blob databases and is performing many blob operations on them.
            </p>
          </li>
          <li>
            <p>
                The master is performing intensive write operations.
            </p>
          </li>
        </ul>
      </div>
      <p>
        The database environment's replication subsystem may also be
        configured using the environment's <a href="../../programmer_reference/env_db_config.html#env_db_config.DB_CONFIG" class="olink">DB_CONFIG</a> file.  The syntax
        of the entry in that file is a single line with the string
        "repmgr_set_incoming_queue_max", one or more whitespace characters,
        and the limit specified in two parts: the gigabytes and the bytes values.
        For example, "repmgr_set_incoming_queue_max 0 104857600" sets a 100 megabyte
        limit. Because the <a href="../../programmer_reference/env_db_config.html#env_db_config.DB_CONFIG" class="olink">DB_CONFIG</a> file is read when the database environment
        is opened, it will silently overrule configuration done before
        that time.
    </p>
      <p>
        The <code class="methodname">DbEnv::repmgr_set_incoming_queue_max()</code> method
        configures a database environment, not only operations performed
        using the specified <a class="link" href="env.html" title="Chapter 5.  The DbEnv Handle">DbEnv</a> handle.
    </p>
      <p>
        The <code class="methodname">DbEnv::repmgr_set_incoming_queue_max()</code> method may be
        called at any time during the life of the application. If the limit is reduced,
        messages already in the queue are not removed, but further incoming messages are not
        added to the queue until its size drops below the new limit. 
    </p>
      <p>
        The <code class="methodname">DbEnv::repmgr_set_incoming_queue_max()</code> <span>
            
            <span>
                method either returns a non-zero error value or throws an
                exception that encapsulates a non-zero error value on
                failure, and returns 0 on success.
            </span>
        </span>
    </p>
      <div class="sect2" lang="en" xml:lang="en">
        <div class="titlepage">
          <div>
            <div>
              <h3 class="title"><a id="idm139670055798240"></a>Parameters</h3>
            </div>
          </div>
        </div>
        <div class="sect3" lang="en" xml:lang="en">
          <div class="titlepage">
            <div>
              <div>
                <h4 class="title"><a id="idm139670055828944"></a>gbytes</h4>
              </div>
            </div>
          </div>
          <p>
                The  <span class="bold"><strong>gbytes</strong></span> parameter specifies the number of
                gigabytes which, when added to the <span class="bold"><strong>bytes</strong></span>
                parameter, specifies the maximum size limit of the incoming queue.
            </p>
        </div>
        <div class="sect3" lang="en" xml:lang="en">
          <div class="titlepage">
            <div>
              <div>
                <h4 class="title"><a id="idm139670055873824"></a>bytes</h4>
              </div>
            </div>
          </div>
          <p>
                The  <span class="bold"><strong>bytes</strong></span> parameter specifies the number of
                bytes which, when added to the <span class="bold"><strong>gbytes</strong></span>
                parameter, specifies the maximum size limit of the incoming queue.
            </p>
        </div>
      </div>
      <div class="sect2" lang="en" xml:lang="en">
        <div class="titlepage">
          <div>
            <div>
              <h3 class="title"><a id="idm139670055819328"></a>Class</h3>
            </div>
          </div>
        </div>
        <p>
             <a class="link" href="env.html" title="Chapter 5.  The DbEnv Handle">DbEnv</a>  
         </p>
      </div>
      <div class="sect2" lang="en" xml:lang="en">
        <div class="titlepage">
          <div>
            <div>
              <h3 class="title"><a id="idm139670055788912"></a>See Also</h3>
            </div>
          </div>
        </div>
        <p>
             <a class="xref" href="rep.html#replist" title="Replication and Related Methods">Replication and Related Methods</a> 
         </p>
      </div>
    </div>
    <div class="navfooter">
      <hr />
      <table width="100%" summary="Navigation footer">
        <tr>
          <td width="40%" align="left"><a accesskey="p" href="repmgrset_ack_policy.html">Prev</a> </td>
          <td width="20%" align="center">
            <a accesskey="u" href="rep.html">Up</a>
          </td>
          <td width="40%" align="right"> <a accesskey="n" href="repmgrset_socket.html">Next</a></td>
        </tr>
        <tr>
          <td width="40%" align="left" valign="top">DbEnv::repmgr_set_ack_policy() </td>
          <td width="20%" align="center">
            <a accesskey="h" href="index.html">Home</a>
          </td>
          <td width="40%" align="right" valign="top"> DbEnv::repmgr_set_socket()</td>
        </tr>
      </table>
    </div>
  </body>
</html>
